ZooKeeper介绍
在单机中,系统协作大都是进程级的操作。分布式系统中,服务协作都是跨服务器才能完成的。在ZooKeeper之前,我们对于协作服务大都使用消息中间件,随着分布式系统的普及,用消息中间件完成协作,会有大量的程序开发。
Apache ZooKeeper 是由Apache Hadoop的子项目发展而来,于2010年11月正式成为了Apache的顶级项目。ZooKeeper是一个为分布式应用所设计的分布的、开源的协调服务,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。ZooKeeper本身可以以Standalone模式安装运行,不过它的长处在于通过分布式ZooKeeper集群(一个Leader,多个Follower),基于一定的策略来保证ZooKeeper集群的稳定性和可用性,从而实现分布式应用的可靠性。
ZooKeeper作为分布式协调服务,是不需要依赖于Hadoop的环境,也可以为其他的分布式环境提供服务。
系统环境(本次环境)
准备一台Linux服务器,系统要求如下:
- Linux: CentOS 6.5 64bit Server
- Java: 1.7.0_60 64-Bit Server VM
- zookeeper:zookeeper-3.4.5.tar.gz
ZooKeeper 使用Java语言编写,运行环境需要Java环境支持,建议使用JDK1.6以上版本
解压 ZooKeeper
安装目录:/usr/local/zookeeper-3.4.5
在 /usr/local/ 目录下解压 zookeeper-3.4.5.tar.gz :1
[root@localhost local]# tar zxvf zookeeper-3.4.5.tar.gz
配置 ZooKeeper
创建数据目录:
1 | [root@localhost ~] |
准备配置文件:
因为ZooKeeper启动时默认加载名为zoo.cfg配置文件,所有需要将zoo_sample.cfg复制一份并命名为zoo.cfg。
配置文件目录 zookeeper-3.4.5/conf 。1
[root@localhost conf]# cp zoo_sample.cfg zoo.cfg
编辑配置文件:
1 | [root@localhost conf] |
添加数据目录配置:1
dataDir=/var/zookeeperdata
设置环境变量
1 | [root@localhost ~] |
添加如下内容:1
2export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.5
export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf